package zgrjb.snbq.teach_platform.dto.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 会话表 DO
 * 对应数据库表：conversation
 * 
 * @author system
 * @since 2024-12-28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("conversation")
public class ConversationDO {

    /**
     * 会话ID
     */
    private String id;

    /**
     * 会话类型：private,group,system
     */
    private String type;

    /**
     * 会话标题
     */
    private String title;

    /**
     * 会话头像
     */
    private String avatar;

    /**
     * 参与者ID列表
     */
    private String participants;

    /**
     * 创建者ID
     */
    @TableField("creator_id")
    private Long creatorId;

    /**
     * 最后一条消息ID
     */
    @TableField("last_message_id")
    private Long lastMessageId;

    /**
     * 最后消息时间
     */
    @TableField("last_message_time")
    private LocalDateTime lastMessageTime;

    /**
     * 是否活跃：0-非活跃，1-活跃
     */
    @TableField("is_active")
    private Integer isActive;

    /**
     * 会话设置
     */
    private String settings;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;
} 